<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>

  <ul class="test">
    <li data-index="1">index 1</li>
    <li data-index="2">index 2</li>
    <li data-index="3">index 3</li>
    <li data-index="4">index 4</li>
  </ul>
  <script>
    var oul = document.querySelector('.test');
    oul.addEventListener('click', function (e) {
      e = e || window.event;
     console.log(e.target.tagName);
     if(e.target.tagName.toLowerCase() === 'li') {
       let index = e.target.getAttribute('data-index')
       console.log(index);
     }
    })

    // var a = function () {
    //     this.b = 3;
    // }
    // var c = new a();
    // a.protorype.b = 9;
    // var b = 7;
    // a();
    // console.log(b);
    // console.log(c.b);
    // var fun1 = x => x;
    // var fun2 = x => {
    //     x
    // };
    // var fun3 = x => ({
    //     x
    // });
    // console.log(fun1(1));
    // console.log(fun2(1));
    // console.log(fun3(1));
    // let str = "I am the good boy";
    // console.log(str.split(" ").reverse().join(' ').split('').reverse().join(''));
    // console.log(1);
    // new Promise((resolve) => {
    //   resolve();
    //   console.log(2);
    // }).then(() => {
    //   console.log(3);
    // });
    // setTimeout(() => {
    //   console.log(4);
    // }, 0);
    // console.log(5);

    // var a = { x: 1 };
    // var b = a;
    // a = a.x = { x: 1 };
    // console.log(a); // {x:1}
    // console.log(b); // {x:{x:1}}

    // const list = [1,2,3];
    // const square = num => {
    //   return new Promise((resolve,reject)=>{
    //     setTimeout(() => {
    //       resolve(num * num)
    //     }, 1000);
    //   })
    // }

    // function test() {
    //   list.forEach(async x=>{
    //     const res = await square(x);
    //     (function(res){
    //       setTimeout(()=>{
    //         console.log(res);
    //       },1000)
    //     })(res)
    //   })
    // }
    // test()
  </script>
</body>

</html>